package com.sophossystems.client.asmon.dto;


import java.io.Serializable;


public class DireccionDTO implements Serializable
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 2449693714192060351L;

	/** 
	 * This attribute maps to the column idDireccion in the DIRECCION table.
	 */
	protected int idDireccion;

	/** 
	 * This attribute maps to the column calle in the DIRECCION table.
	 */
	protected String calle;

	/** 
	 * This attribute maps to the column numExt in the DIRECCION table.
	 */
	protected String numExt;

	/** 
	 * This attribute maps to the column numInt in the DIRECCION table.
	 */
	protected String numInt;

	/** 
	 * This attribute maps to the column colonia in the DIRECCION table.
	 */
	protected String colonia;

	/** 
	 * This attribute maps to the column delegacion in the DIRECCION table.
	 */
	protected String delegacion;

	/** 
	 * This attribute maps to the column cp in the DIRECCION table.
	 */
	protected String cp;

	/** 
	 * This attribute maps to the column entidadFed in the DIRECCION table.
	 */
	protected String entidadFed;

	/** 
	 * This attribute maps to the column telefono in the DIRECCION table.
	 */
	protected String telefono;

	/** 
	 * This attribute maps to the column idTipoDireccion in the DIRECCION table.
	 */
	protected int idTipoDireccion;

	/** 
	 * This attribute represents whether the primitive attribute idTipoDireccion is null.
	 */
	protected boolean idTipoDireccionNull = true;

	/**
	 * Method 'Direccion'
	 * 
	 */
	public DireccionDTO()
	{
	}

	/**
	 * Method 'getIdDireccion'
	 * 
	 * @return int
	 */
	public int getIdDireccion()
	{
		return idDireccion;
	}

	/**
	 * Method 'setIdDireccion'
	 * 
	 * @param idDireccion
	 */
	public void setIdDireccion(int idDireccion)
	{
		this.idDireccion = idDireccion;
	}

	/**
	 * Method 'getCalle'
	 * 
	 * @return String
	 */
	public String getCalle()
	{
		return calle;
	}

	/**
	 * Method 'setCalle'
	 * 
	 * @param calle
	 */
	public void setCalle(String calle)
	{
		this.calle = calle;
	}

	/**
	 * Method 'getNumExt'
	 * 
	 * @return String
	 */
	public String getNumExt()
	{
		return numExt;
	}

	/**
	 * Method 'setNumExt'
	 * 
	 * @param numExt
	 */
	public void setNumExt(String numExt)
	{
		this.numExt = numExt;
	}

	/**
	 * Method 'getNumInt'
	 * 
	 * @return String
	 */
	public String getNumInt()
	{
		return numInt;
	}

	/**
	 * Method 'setNumInt'
	 * 
	 * @param numInt
	 */
	public void setNumInt(String numInt)
	{
		this.numInt = numInt;
	}

	/**
	 * Method 'getColonia'
	 * 
	 * @return String
	 */
	public String getColonia()
	{
		return colonia;
	}

	/**
	 * Method 'setColonia'
	 * 
	 * @param colonia
	 */
	public void setColonia(String colonia)
	{
		this.colonia = colonia;
	}

	/**
	 * Method 'getDelegacion'
	 * 
	 * @return String
	 */
	public String getDelegacion()
	{
		return delegacion;
	}

	/**
	 * Method 'setDelegacion'
	 * 
	 * @param delegacion
	 */
	public void setDelegacion(String delegacion)
	{
		this.delegacion = delegacion;
	}

	/**
	 * Method 'getCp'
	 * 
	 * @return String
	 */
	public String getCp()
	{
		return cp;
	}

	/**
	 * Method 'setCp'
	 * 
	 * @param cp
	 */
	public void setCp(String cp)
	{
		this.cp = cp;
	}

	/**
	 * Method 'getEntidadFed'
	 * 
	 * @return String
	 */
	public String getEntidadFed()
	{
		return entidadFed;
	}

	/**
	 * Method 'setEntidadFed'
	 * 
	 * @param entidadFed
	 */
	public void setEntidadFed(String entidadFed)
	{
		this.entidadFed = entidadFed;
	}

	/**
	 * Method 'getTelefono'
	 * 
	 * @return String
	 */
	public String getTelefono()
	{
		return telefono;
	}

	/**
	 * Method 'setTelefono'
	 * 
	 * @param telefono
	 */
	public void setTelefono(String telefono)
	{
		this.telefono = telefono;
	}

	/**
	 * Method 'getIdTipoDireccion'
	 * 
	 * @return int
	 */
	public int getIdTipoDireccion()
	{
		return idTipoDireccion;
	}

	/**
	 * Method 'setIdTipoDireccion'
	 * 
	 * @param idTipoDireccion
	 */
	public void setIdTipoDireccion(int idTipoDireccion)
	{
		this.idTipoDireccion = idTipoDireccion;
		this.idTipoDireccionNull = false;
	}

	/**
	 * Method 'setIdTipoDireccionNull'
	 * 
	 * @param value
	 */
	public void setIdTipoDireccionNull(boolean value)
	{
		this.idTipoDireccionNull = value;
	}

	/**
	 * Method 'isIdTipoDireccionNull'
	 * 
	 * @return boolean
	 */
	public boolean isIdTipoDireccionNull()
	{
		return idTipoDireccionNull;
	}

	/**
	 * Method 'equals'
	 * 
	 * @param _other
	 * @return boolean
	 */
	@Override
	public boolean equals(Object _other)
	{
		if (_other == null) {
			return false;
		}
		
		if (_other == this) {
			return true;
		}
		
		if (!(_other instanceof DireccionDTO)) {
			return false;
		}
		
		final DireccionDTO _cast = (DireccionDTO) _other;
		if (idDireccion != _cast.idDireccion) {
			return false;
		}
		
		if (calle == null ? _cast.calle != calle : !calle.equals( _cast.calle )) {
			return false;
		}
		
		if (numExt == null ? _cast.numExt != numExt : !numExt.equals( _cast.numExt )) {
			return false;
		}
		
		if (numInt == null ? _cast.numInt != numInt : !numInt.equals( _cast.numInt )) {
			return false;
		}
		
		if (colonia == null ? _cast.colonia != colonia : !colonia.equals( _cast.colonia )) {
			return false;
		}
		
		if (delegacion == null ? _cast.delegacion != delegacion : !delegacion.equals( _cast.delegacion )) {
			return false;
		}
		
		if (cp == null ? _cast.cp != cp : !cp.equals( _cast.cp )) {
			return false;
		}
		
		if (entidadFed == null ? _cast.entidadFed != entidadFed : !entidadFed.equals( _cast.entidadFed )) {
			return false;
		}
		
		if (telefono == null ? _cast.telefono != telefono : !telefono.equals( _cast.telefono )) {
			return false;
		}
		
		if (idTipoDireccion != _cast.idTipoDireccion) {
			return false;
		}
		
		if (idTipoDireccionNull != _cast.idTipoDireccionNull) {
			return false;
		}
		
		return true;
	}

	/**
	 * Method 'hashCode'
	 * 
	 * @return int
	 */
	@Override
	public int hashCode()
	{
		int _hashCode = 0;
		_hashCode = 29 * _hashCode + idDireccion;
		if (calle != null) {
			_hashCode = 29 * _hashCode + calle.hashCode();
		}
		
		if (numExt != null) {
			_hashCode = 29 * _hashCode + numExt.hashCode();
		}
		
		if (numInt != null) {
			_hashCode = 29 * _hashCode + numInt.hashCode();
		}
		
		if (colonia != null) {
			_hashCode = 29 * _hashCode + colonia.hashCode();
		}
		
		if (delegacion != null) {
			_hashCode = 29 * _hashCode + delegacion.hashCode();
		}
		
		if (cp != null) {
			_hashCode = 29 * _hashCode + cp.hashCode();
		}
		
		if (entidadFed != null) {
			_hashCode = 29 * _hashCode + entidadFed.hashCode();
		}
		
		if (telefono != null) {
			_hashCode = 29 * _hashCode + telefono.hashCode();
		}
		
		_hashCode = 29 * _hashCode + idTipoDireccion;
		_hashCode = 29 * _hashCode + (idTipoDireccionNull ? 1 : 0);
		return _hashCode;
	}

	/**
	 * Method 'createPk'
	 * 
	 * @return DireccionPk
	 */
	public DireccionPkDTO createPk()
	{
		return new DireccionPkDTO(idDireccion);
	}

	/**
	 * Method 'toString'
	 * 
	 * @return String
	 */
	@Override
	public String toString()
	{
		StringBuffer ret = new StringBuffer();
		ret.append( "com.sophossystems.client.asmon.dto.Direccion: " );
		ret.append( "idDireccion=" + idDireccion );
		ret.append( ", calle=" + calle );
		ret.append( ", numExt=" + numExt );
		ret.append( ", numInt=" + numInt );
		ret.append( ", colonia=" + colonia );
		ret.append( ", delegacion=" + delegacion );
		ret.append( ", cp=" + cp );
		ret.append( ", entidadFed=" + entidadFed );
		ret.append( ", telefono=" + telefono );
		ret.append( ", idTipoDireccion=" + idTipoDireccion );
		return ret.toString();
	}

}
